// -*- IDL -*-
/**
 * @file CSD_Framework.pidl
 *
 * $Id$
 *
 * @brief Pre-compiled IDL source for the CSD_Framework module.
 *
 * This file was used to generate the code in
 * CSD_FrameworkC.{h,inl,cpp}, using the following command:
 *
 * $ACE_ROOT/bin/tao_idl \
 *     -o orig -Gp -Gd -Gt -GA -I$TAO_ROOT -Sci \
 *          -Wb,export_macro=TAO_CSD_FW_Export \
 *          -Wb,export_include="CSD_FW_Export.h" \
 *          -Wb,pre_include="ace/pre.h" \
 *          -Wb,post_include="ace/post.h" \
 *          -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL \
 *          -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL \
 *          CSD_Framework.pidl
 */

#ifndef CSD_FRAMEWORK_PIDL
#define CSD_FRAMEWORK_PIDL

#include "tao/PortableServer/PortableServer_include.pidl"

module CSD_Framework {

  # pragma version CSD_Framework 2.3

  /// This is a common base interface for all CSD strategy
  /// implementations
  local interface Strategy {

    # pragma version Strategy 2.3

    /// This is support for a legacy method of supplying a strategy to a
    /// POA.
    boolean apply_to(in PortableServer::POA p);
  };

  /// Specialized POA providing a method to supply a strategy object to
  /// the POA.
  local interface POA : PortableServer::POA {

    # pragma version POA 2.3

    void set_csd_strategy (in Strategy s);
  };
};

#endif //CSD_FRAMEWORK_PIDL
